package tc.alert.tckejisoc.wx;

import com.alibaba.fastjson.JSONObject;
import tc.alert.tckejisoc.config.HttpClientUtil;

/**
 * 企业微信消息抽象类
 */
public abstract class WeComMessage {
    protected String webhookUrl;
    protected JSONObject content = new JSONObject();

    public WeComMessage(String webhookUrl) {
        this.webhookUrl = webhookUrl;
        this.content.put("msgtype", getMsgType());
    }

    // 子类必须实现消息类型
    protected abstract String getMsgType();

    // 子类必须实现消息体构造
    protected abstract JSONObject buildMessageBody();

    // 发送消息到企业微信
    public void send() throws Exception {
        JSONObject finalMsg = buildMessageBody();
        // 调用HTTP工具发送finalMsg到webhookUrl（参考之前的HTTP工具类）
        HttpClientUtil.postJson(webhookUrl, finalMsg.toJSONString());
    }
}